This application does not claim the benefit of prior patent applications. Relevant prior art is referenced in the section xe2x80x9cBackground of the Inventionxe2x80x9d.
This invention relates to open development and run time environments of computer based systems, integrated system architectures, adaptive fuzzy systems, fractal geometry, and formal geometric computer languages.
In recent years, real time systems used in the services, process control, manufacturing, and military industries have grown into complex software-intensive systems composed of aggregates of physical processes, hardware processors, communication networks, software systems, human operators, and users. The following factors contribute to the inherent complexity of a complex system (Athans 1987, Varaiya 1993):
Distributed processing: A complex system requires a wide variety of physical communication interconnections. Distribution of its application functions is dictated by geographical distribution of user locations, economy of design, or high levels of processing loads.
Distributed databases: A complex system has many distributed databases which require stringent control algorithms for data integrity, transaction correctness, transaction atomicity, reconfiguration, and concurrency.
Real-time constraints: A complex system has real-time constraints which cannot be exceeded without causing severe system malfunctions. The vulnerability of real-time systems imposes adaptability requirements on their design and run time operation where system functions may be dedicated to a processor or allowed to migrate among different processors. This entails trade-off analysis of software complexity, reliability, and dynamic load balancing.
Large number of sensors: A complex system may be monitoring thousands or millions of distributed sensors with distributed functions for fail-soft operation, self-diagnosis, self-simulation, and self-correction. The time evolution of these sensors is subject to input/output timing and synchronization problems within the physical processes and their environment.
Large number of variables: A complex system is a strongly interacting multivariable system where a change in one input variable produces a change in many other variables. Input variables are almost always statistical and time variant.
Malicious and accidental interruptions: A complex system may be subjected to criminal activities, jamming of communication lines, or the partial destruction of any of their elements. Significant loss of human life, destruction of equipment, and loss of valuable information may result from malfunction of the sensor instrumentation, the processor hardware, or software.
Human-machine interactions: A complex system performance depends on the interaction between humans and machines performing together. Determination of the proper boundaries separating machines from human functions in a hazardous system environment does not remain static during the system life cycle.
Since the functional performance and reliability of complex systems depends strongly on their software design, major intellectual and financial investment has been directed to the development of tools including object-oriented methods, open programming environments, and life cycle development processes. Effective application of these tools to develop and sustain complex systems is limited by the lack of display methods and tools for the geometric specification and design automation of software systems. In the software world, it is generally acknowledged that the difficult part of building software intensive systems is in the requirements specification, design and testing of the conceptual construct underlying the system, and not in the labor of coding it and testing the fidelity of the generated code (Brooks 1987). This conceptual construct is the set of interlocking concepts: data sets, static and dynamic relationships among data items, algorithms, and invocation of system functions. Major causes of these difficulties are:
Invisibility and unvisualizability problems of software. These problems arise because it is currently perceived that software is not inherently embedded in space and as such has no ready geometric representation in the way that land has maps, a three dimensional physical object has an elevation, plan and side view projections, or a mechanical part has a scale drawing. The unvisuability of the software impedes the process of design within one mind and severely hinders communication among minds.
Complexity problems of software. These problems arise because of the very large number of software elements, states assumed by these elements and the nonlinear interaction between these elements. Technical complexity gives rise to communication problems among team members, which lead to product flaws, cost overruns, and schedule delays.
Changeability problems of software. These problems arise because the software product is embedded in a cultural matrix of applications, users, laws, etc. These may change continually and their changes force change upon the software product.
Conformity problems of software. These problems arise because of the many arbitrary human institutions and systems to which the software interfaces must conform.
The above problems are not resolved by traditional structured design tools or state of the art object oriented tools (Champeaux 1992, Desmond 1999). Both sets of tools fail to provide the necessary mechanisms for the specification, design automation, and test of the conceptual construct of real systems. When functional decomposition and structured design tools are employed several graphs are used to represent data and program hierarchical structures, data flow, control flow, and system state transition. When object oriented tools are employed several graphs, such as Class, Use case, Sequence, Collaboration, and State diagrams, are used to represent object inheritance, object relationships, flow of data, flow of control, patterns of dependency, time sequence, and data base structure. The current generation of both structured design and object oriented design tools suffers from a number of disadvantages:
They do not provide mechanisms for the visual integration of the different types of graphs used to specify object inheritance, object relationships, flow of data, flow of control, patterns of dependency, time sequence, and data base structure. Each of these graphs has different syntax and semantics. For any real system of a significant size, the lack of visual integration mechanisms hinders human assimilation, inspection and analysis of the logical construct underlying multiple views of a specified system.
Syntax and semantics of their graphs do not capture critical aspects of the system operational constructs such as system performance constraints, system security constraints, system reliability constraints, and system fault tolerant constraints.
Syntax and semantics of their graphs do not capture critical aspects of the system static and dynamic configuration constructs such as the geographical allocation of system resources to system nodes, and scheduling of system resources to meet evolving operational system requirements.
Their graphs do not provide visual geometric enforcement of system design semantics such as the spatial containment of system layered structure or its component objects within the geometric region of their container object
Their tools fail to provide an integrated geometric specification of the system logical construct. Their tools are not able to enact and adapt the system design to meet changing operational requirements.
The current generation of open programming environments and object oriented object design tools fails to create adaptive systems engineering tools. They fail to resolve invisibility, unvisualizability, complexity, changeability, resource constraints, dynamic scheduling, and spatial semantic problems of software intensive systems. Without a capability to create and capture unambiguous integrated geometric specifications of software intensive systems, current state of the art tools are not enabled with design automation methods. These methods would be used to synthesize, assess and enact planned software intensive products before significant development, integration and test cost are incurred.
Alam, M. A., 1977, xe2x80x9cAdaptive Spectral Estimationxe2x80x9d, Joint Automatic Control Conference, Vol. 1, pp. 105-122
Athans, M., April 1987, xe2x80x9cCommand and Control Theory: A Challenge to Control Sciencexe2x80x9d, IEEE Transactions on Automatic Control, Vol. 32, No 4
Bailin, S. C., 1989, xe2x80x9cAn Object-Oriented Requirements Specification Methodxe2x80x9d, CACM 32, 5
Box, G. E. and G. M. Jenkins, 1976, xe2x80x9cTime Series Analysis, Forecasting and Controlxe2x80x9d, Holden Day
Brooks, F. P., 1987, xe2x80x9cEssence and Accidents of Software Engineeringxe2x80x9d, Computer
Champeaux, D., Faure, P., 1992, xe2x80x9cA comparative study of Object-Oriented Analysis Methodsxe2x80x9d, JOOP
Clarke, D. W., 1969, xe2x80x9cGeneralized Least Square Estimation of the Parameters of a Dynamic Modelxe2x80x9d, National Physics Laboratory, Report AUTO 26
Coad, P. and E. Yourdon, 1990, xe2x80x9cObject-Oriented Analysisxe2x80x9d, Yourdon Press, Prentice Hall, Englewood Cliffs, N.J.
Desmond, J. P., 1999, xe2x80x9cModeling for The Massesxe2x80x9d, Component Strategies
Godfrey, K. R., 1969, xe2x80x9cDynamic Analysis of an Oil Refinery Unit under Normal Operating Conditionsxe2x80x9d, Proc. IEEE, 116, pp. 879-892
Jacobson, I., 1987, xe2x80x9cObject-Oriented Development in an Industrial Environmentxe2x80x9d, OOP-SLA ""87 Conference proceedings, Orlando, Fla.
Makhoul, J., April 1975, xe2x80x9cLinear Prediction, A Tutorial Reviewxe2x80x9d, Proc. IEEE, vol. 63, no. 4, pp. 561-580
Makhoul, J., October 1977, xe2x80x9cStable and Efficient Lattice Methods for Linear Predictionxe2x80x9d, IEEE Transactions on Accoustics, Speech and Signal Processing, vol. ASSP-26, pp. 423-428
Makhoul, J., August 1978, xe2x80x9cA Class of All Zero Lattice Digital Filters: Properties and Applicationsxe2x80x9d, IEEE Transactions on Accoustics, Speech and Signal Processing, vol. ASSP-26, no. 4, pp. 304-314
Messershmitt, D. G., April 1980, xe2x80x9cA Class of Generalized Lattice Filtersxe2x80x9d, IEEE Transactions on Accoustics, Speech and Signal Processing, vol. ASSP-28, no. 2, pp. 198-204
O""Dell, J. and J. Martin, xe2x80x9cObject-Oriented Analysis and Designxe2x80x9d, Prentice Hall, Englewood Cliffs, N.J.
Riley, D. and J. P. Burg, 1972, xe2x80x9cTime and Space Deconvolution Filtersxe2x80x9d, SEG Convention, Anaheim, Calif.
Rumbaugh, J. et al, 1991, xe2x80x9cObject-Oriented Modeling and Designxe2x80x9d, Prentice Hall, Englewood Cliffs, N.J.
Shaler, S. and S. J. Mellor, 1988 xe2x80x9cObject-Oriented Systems Analysisxe2x80x9d, Yourdon Press, Englewood Cliffs, N.J.
Varaiya, P., February 1993, xe2x80x9cSmart Cars on Smart Roads: Problems of Controlxe2x80x9d, IEEE Transactions on Automatic Control, Vol. 38, No 2
This invention provides new, physics-like computational models, called M computational models, which are used to capture and integrate the static and dynamic architecture of a real system. An M model is specified using a formal geometric language called the M Language. Design automation of an M model is carried out using a set of tools called Adaptive Model Reference (AMR) tools. These tools automate the integration of system components into operational systems that can be adapted during run time to meet end users"" functional and system performance requirements. Several objects and advantages of the present invention are:
To provide a formal geometric language called the xe2x80x9cM Languagexe2x80x9d supported by automated tools. This language provides syntactically valid visual sentences, and provides semantic and mathematical interpretation of these sentences. The M language provides generalized icons for annotating system objects, and associates a geometric region with each object. These regions are geometrically arranged to specify geometric plan and elevation projections of the static and dynamic structure of a real system. The M language is diagram-based, and is generalized icon-based where the icon of each region provides the dual representation of a physical part (the pictorial image) and a logical part (the meaning).
To provide expert rules and tools used to construct M models. These models are geometric, bipartite, directed, token based models specified using the M language. M models capture in a single geometric graph type the information now typically specified by a set of graph types such as tree graphs, inheritance graphs, state transition graphs, data flow graphs, control flow graphs, and Petri Net graphs.
To provide expert rules and tools used to construct a static architecture of a real system called the xe2x80x9cM static architecturexe2x80x9d. This architecture provides an integrated geometric specification of object classification, association, and composition relationships between the component objects of a real system.
To provide expert rules and tools used to construct a dynamic architecture of a real system called the xe2x80x9cM dynamic architecturexe2x80x9d. This architecture provides a geometric specification of the constrained behavior of a real system. An M dynamic architecture is specified using a new type of networks called xe2x80x9cAdaptive Loop Information Netsxe2x80x9d (ALI_Nets). Each ALI_Net specifies behavior and functional performance goals of a semantic system partition which is observable, controllable, and configurable.
To provide expert rules and tools used to construct an integrated architecture of a real system, called an xe2x80x9cM Integrated Architecturexe2x80x9d. This architecture integrates into a single geometric graph the operational requirements architecture, which specifies performance constrained interactions between external system objects, and the design control architecture which specifies performance constrained interactions between internal system objects.
To provide expert rules and tools used to bind component objects of a real system into an integrated architecture that can be controlled and adapted to evolving users requirements. The term control is used to mean all aspects of decision making that are applied to adapt a system during its development to compensate for requirement changes and design errors, and during run time operation to compensate for unanticipated operational system conditions.
To provide expert rules and tools used to construct an adaptive multi-level design control scheme which monitors, controls and adapts the behavior of the multi-layer integrated architecture of a real system. This scheme is composed of a set of concurrent control processes which are supervised by a set of adaptive supervisory control processes. Lower levels of the adaptive scheme regulate physical resources of a real system. Higher levels control and adapt distributed information processing functions.
To provide expert rules and tools used to specify a group of one or more design control architectures for each operational requirements architecture and specify a group of one or more implementation architectures for each design control architecture.
To provide expert rules and tools used to evaluate static structure metrics and dynamic structure metrics of the integrated architecture of a real system. Static structure metrics include fractal dimension, entropy coupling, and deadlock metrics. Dynamic structure metrics include load, service time, response time, and utilization level metrics.
To provide expert rules and tools used to evaluate cost, value, and performance sensitivity of current and proposed business operations of a real system.